hppa-sparc64-support
authorDebian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
Sat, 24 Jan 2026 12:41:42 +0000 (14:41 +0200)
committerIlias Tsitsimpis <iliastsi@debian.org>
Sat, 24 Jan 2026 12:41:42 +0000 (14:41 +0200)
===================================================================

Gbp-Pq: Name hppa-sparc64-support.patch

compiler/GHC/CmmToC.hs
libraries/ghc-platform/src/GHC/Platform/ArchOS.hs
m4/fptools_set_haskell_platform_vars.m4
utils/ghc-toolchain/src/GHC/Toolchain/ParseTriple.hs

index 7881350f4b7ef379305f9ff79b432fa79010a591..0fdb2651a0f35ec90d9b62099c0fa4d90a4ef7ad 100644 (file)
@@ -1350,6 +1350,7 @@ cLoad platform expr rep
           bewareLoadStoreAlignment ArchMipsel   = True
           bewareLoadStoreAlignment (ArchARM {}) = True
           bewareLoadStoreAlignment ArchAArch64  = True
+          bewareLoadStoreAlignment ArchSPARC64  = True
           -- Pessimistically assume that they will also cause problems
           -- on unknown arches
           bewareLoadStoreAlignment ArchUnknown  = True
index 0782a2a1cfd8d87449644530f1ea741d5c957a75..fd25a739979d7c659088080d0b8a43ed865c5984 100644 (file)
@@ -42,9 +42,11 @@ data Arch
    | ArchARM ArmISA [ArmISAExt] ArmABI
    | ArchAArch64
    | ArchAlpha
+   | ArchHPPA
    | ArchMipseb
    | ArchMipsel
    | ArchRISCV64
+   | ArchSPARC64
    | ArchLoongArch64
    | ArchJavaScript
    | ArchWasm32
@@ -134,10 +136,12 @@ stringEncodeArch = \case
   ArchARM ARMv7 _ _ -> "armv7"
   ArchAArch64       -> "aarch64"
   ArchAlpha         -> "alpha"
+  ArchHPPA          -> "hppa"
   ArchMipseb        -> "mipseb"
   ArchMipsel        -> "mipsel"
   ArchRISCV64       -> "riscv64"
   ArchLoongArch64   -> "loongarch64"
+  ArchSPARC64       -> "sparc64"
   ArchJavaScript    -> "javascript"
   ArchWasm32        -> "wasm32"
 
index 8cc721d79b8ffbbe4369498b87bf6c957054fede..827c5fe5d1e6b1cbd621dc698c4d1e13be94e96b 100644 (file)
@@ -33,6 +33,9 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS_SHELL_FUNCTIONS],
         alpha)
             test -z "[$]2" || eval "[$]2=ArchAlpha"
             ;;
+        hppa|hppa1_1)
+            test -z "[$]2" || eval "[$]2=ArchHPPA"
+            ;;
         mips|mipseb)
             test -z "[$]2" || eval "[$]2=ArchMipseb"
             ;;
@@ -48,7 +51,10 @@ AC_DEFUN([FPTOOLS_SET_HASKELL_PLATFORM_VARS_SHELL_FUNCTIONS],
         loongarch64)
             test -z "[$]2" || eval "[$]2=ArchLoongArch64"
             ;;
-        hppa|hppa1_1|ia64|m68k|nios2|riscv32|loongarch32|rs6000|s390|sh4|sparc|sparc64|vax)
+        sparc64)
+            test -z "[$]2" || eval "[$]2=ArchSPARC64"
+            ;;
+        ia64|m68k|nios2|riscv32|loongarch32|rs6000|s390|sh4|sparc|vax)
             test -z "[$]2" || eval "[$]2=ArchUnknown"
             ;;
         javascript)
index 17fee0205577cd4423a93c2932b3fd18c604d00d..642de4481012b6ddd13682f3f51e27251e0a4e6a 100644 (file)
@@ -51,10 +51,11 @@ parseArch cc arch =
       "mipseb" -> pure ArchMipseb
       "mipsel" -> pure ArchMipsel
       "riscv64" -> pure ArchRISCV64
-      "hppa" -> pure ArchUnknown
+      "hppa" -> pure ArchHPPA
       "wasm32" -> pure ArchWasm32
       "javascript" -> pure ArchJavaScript
       "loongarch64" -> pure ArchLoongArch64
+      "sparc64" -> pure ArchSPARC64
       _ -> throwE $ "Unknown architecture " ++ arch
 
 parseOs :: String -> M OS